<!-- /init_db.php -->
<?php
// /init_db.php

// 数据库文件路径
$dbFile = __DIR__ . '/db/board.sqlite';

// 如果 db 目录不存在则创建（设置权限为 0775 更安全，避免 0777）
if (!file_exists(__DIR__ . '/db')) {
    mkdir(__DIR__ . '/db', 0775, true);
}

// 连接（或创建）数据库
$db = new SQLite3($dbFile);

// 创建留言表（messages）
$db->exec("
CREATE TABLE IF NOT EXISTS messages (
    id TEXT PRIMARY KEY,                              -- 留言唯一ID，字母+数字，随机生成
    name TEXT NOT NULL,                               -- 留言人姓名
    department TEXT,                                  -- 部门
    contact TEXT,                                     -- 联系方式
    ip TEXT,                                          -- 留言人IP地址
    content TEXT NOT NULL,                            -- 留言内容
    reply TEXT,                                       -- 管理员回复内容
    reply_admin TEXT,                                 -- 管理员姓名（回复人）
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,    -- 留言时间
    status INTEGER DEFAULT 1                          -- 状态：1=待审核,2=已通过,3=已回复,4=拒绝,0=已删除
);
");

// 创建管理员表（admin）
$db->exec("
CREATE TABLE IF NOT EXISTS admin (
    id INTEGER PRIMARY KEY AUTOINCREMENT,             -- 管理员自增ID
    username TEXT NOT NULL UNIQUE,                    -- 管理员登录用户名（唯一）
    password TEXT NOT NULL,                           -- 管理员加密密码
    name TEXT                                         -- 管理员姓名
);
");

// 检查是否已有管理员，初次自动添加账号：admin，密码：UMBpassword
$res = $db->querySingle("SELECT COUNT(*) FROM admin");
if ($res == 0) {
    $hash = password_hash('UMBpassword', PASSWORD_DEFAULT);
    $db->exec("INSERT INTO admin (username, password, name) VALUES ('admin', '$hash', '管理员')");
    echo "<span style='color:green;'>初始化完成，管理员账号：admin，密码：ts@7039</span><br>";
} else {
    echo "<span style='color:#888;'>数据库已存在，无需重复初始化</span><br>";
}

echo "数据库路径：<code>{$dbFile}</code><br>";
$db->close();
?>
